package com.状态模式.state1;

public class Test {

    /**
     * 在开发中订单的状态都是从数据库中查出来的
     * 若我想申请退款那么我就直接new ServiceRequestRefundImpl
     * 这就是状态从中间开始
     *
     */
    public static void main(String[] args) {
        Context context=new Context();
        //去支付了-此时context状态是ServiceNotPayImpl【形参改变实参跟着改】
        context.setStateInterface(new ServiceNotPayImpl());
        context.paySuccess(context);
        String currentState = context.getCurrentState();
        //支付成功-此时context的状态是ServicePaySuccessImpl【形参改变实参跟着改】
        System.out.println(currentState);
        //申请退款退款-此时context的状态是ServiceRequestRefundImpl【形参改变实参跟着改】
        context.requestRefund(context);
        String currentState1 = context.getCurrentState();
        System.out.println(currentState1);
    }
}
